package com.techstar.api.pojo.gis;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

import org.joda.time.DateTime;

import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.techstar.common.jackson.DateTimeDeserializer;

import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

/**
 * 
 * @author EinIce
 * @description 实时交运通事件
 * @date 2021年6月30日
 *
 */
@Getter
@Setter
@Entity
@ToString
@Table(name = "traffic_event")
@org.hibernate.annotations.Table(appliesTo = "traffic_event",comment="gis-1-实时交运通事件")
public class TrafficEvent {
	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	private Long id;
	@Column(columnDefinition="varchar(100) COMMENT '申报方式'")
	private String alarmDesc;
	@Column(columnDefinition="varchar(100) COMMENT '案件编号'")
	private String caseCode;
	@Column(columnDefinition="varchar(100) COMMENT '办结说明'")
	private String concludeDesc;
	@Column(columnDefinition="varchar(100) COMMENT '办结方式'")
	private String concludeStyle;
	@JsonDeserialize(using = DateTimeDeserializer.class)
	@Column(columnDefinition="datetime(0) COMMENT '办结时间'")
	private DateTime concludeTime;
	@Column(columnDefinition="varchar(100) COMMENT '办结类型'")
	private String concludeType;
	@Column(columnDefinition="varchar(100) COMMENT '损坏程度'")
	private String damageExtent;
	@Column(columnDefinition="varchar(100) COMMENT '事件描述'")
	private String eventDesc;
	@Column(columnDefinition="varchar(100) COMMENT '事件标识'")
	private String eventId;
	@Column(columnDefinition="varchar(100) COMMENT '发生地点'")
	private String evnetLoc;
	@Column(columnDefinition="varchar(100) COMMENT '事件状态'")
	private String eventStatus;
	@Column(columnDefinition="varchar(100) COMMENT '事件类别'")
	private String eventType;
	@Column(columnDefinition="varchar(100) COMMENT '故障点纬度'")
	private String faultLocLat;
	@Column(columnDefinition="varchar(100) COMMENT '故障点经度'")
	private String faultLocLon;
	@Column(columnDefinition="varchar(100) COMMENT '故障路名'")
	private String faultRoad;
	@Column(columnDefinition="varchar(100) COMMENT '故障类型'")
	private String faultType;
	@Column(columnDefinition="varchar(100) COMMENT '一级区域'")
	private String firstArea;
	@JsonDeserialize(using = DateTimeDeserializer.class)
	@Column(columnDefinition="datetime(0) COMMENT '日期'")
	private DateTime newDate;
	@JsonDeserialize(using = DateTimeDeserializer.class)
	@Column(columnDefinition="datetime(0) COMMENT '进入环节时间'")
	private DateTime nextSectionTime;
	@Column(columnDefinition="datetime(0) COMMENT '保障时间'")
	private DateTime reportTime;
	@Column(columnDefinition="varchar(100) COMMENT '上报类型'")
	private String reportType;
	@Column(columnDefinition="varchar(100) COMMENT '保障单位'")
	private String reportWorkspace;
	@Column(columnDefinition="varchar(100) COMMENT '保障人'")
	private String reporter;
	@Column(columnDefinition="varchar(100) COMMENT '二级区域'")
	private String secondArea;
	@Column(columnDefinition="varchar(100) COMMENT '业务子类型'")
	private String serviceSubtype;
	@Column(columnDefinition="varchar(100) COMMENT '业务类型'")
	private String serviceType;
	@Column(columnDefinition="varchar(100) COMMENT '来源类别'")
	private String sourceType;
	@JsonDeserialize(using = DateTimeDeserializer.class)
	@Column(columnDefinition="varchar(100) COMMENT '上报时间'")
	private String uploadTime;
}
